local zhenguan = fk.CreateSkill{
  name = "wk_heg__zhenguan",
}

Fk:loadTranslationTable{
  ["wk_heg__zhenguan"] = "贞观",
  [":wk_heg__zhenguan"] = "<b><font color='goldenrod'>君主技</font></b>，你拥有“天策凌烟阁”。<br>" ..
  "#<b>天策凌烟阁</b>：①唐势力角色出牌阶段开始时，其可调整至多体力值数张手牌明暗状态。<br>" ..
  "②唐势力角色发动带有国战特殊机制的技能后，其摸一张牌。<br>"..
  "③若所有角色所有手牌均明置，唐势力获胜。",

  ["#wk_heg__lingyange"] = "凌烟阁",
  ["wk_heg__lingyange-showns"] = "明置牌",
  ["wk_heg__lingyange-notshowns"] = "暗置牌",
  ["#wk_heg__lingyange-change"] = "天策凌烟阁：你可调整至多%arg张手牌的明暗置状态",
  ["#wk_heg__lingyange-dis"] = "天策凌烟阁：你可以弃置任意张明置牌，检索等量拥有国战特殊机制的武将牌",
  ["#wk_heg__lingyange-choice"] = "天策凌烟阁：选择一个技能获得",
  ["@wk_heg__lingyange-turn"] = "凌烟阁",
  
  --["wk_heg__guotaiminan"] = "【国泰民安】：出牌阶段，对一名与你势力相同的角色使用，目标角色回复1点体力并摸一张牌，若此牌未生效，你叠置。", -- 替换 方块A 挟天子以令诸侯
}

return zhenguan

--   anim_type = "support",
--   frequency = Skill.Compulsory,
--   on_acquire = function (self, player, is_start)
--     local room = player.room
--     player:broadcastSkillInvoke(self.name)
--     room:notifySkillInvoked(player, self.name)
--     room:handleAddLoseSkills(player, "#wk_heg__lingyange")
--   end,
--   on_lose = function (self, player, is_death)
--     local room = player.room
--     room:handleAddLoseSkills(player, "-#wk_heg__lingyange")
--   end,
-- }
-- local lingyange = fk.CreateTriggerSkill{
--   name = "#wk_heg__lingyange",
--   anim_type = "support",
--   events = {fk.EventPhaseStart},
--   can_trigger = function (self, event, target, player, data)
--     if target ~= player then return end
--     if target.phase == Player.Play then
--       return not target:isKongcheng() and table.find(player.room.alive_players, function (p)
--         return H.compareKingdomWith(p, target) and p:hasShownSkill(self)
--       end)
--     elseif target.phase == Player.Start then
--       return #H.GetShownCards(target) > 0 and table.find(player.room.alive_players, function (p)
--         return H.compareKingdomWith(p, target) and p:hasShownSkill(self)
--       end)
--     end
--   end,
--   on_cost = function (self, event, target, player, data)
--     if player.phase == Player.Play then
--       return player.room:askForSkillInvoke(target, self.name)
--     else
--       local showns = H.GetShownCards(player)
--       local pat = ".|.|.|.|.|.|"..table.concat(showns, ",")
--       local cards = player.room:askForCard(player, 1, 998, false, self.name, true, pat, "#wk_heg__lingyange-dis")
--       if #cards > 0 then
--         self.cost_data = cards
--         return true
--     end
--     end
--   end,
--   on_use = function (self, event, target, player, data)
--     local room = player.room
--     if player.phase == Player.Play then
--       local showns = H.GetShownCards(target)
--       local notshowns = table.filter(player:getCardIds("h"), function (id)
--         return Fk:getCardById(id):getMark(MarkEnum.ShownCards) == 0 end)
--       local flag = {card_data = {{"wk_heg__lingyange-showns", showns}, {"wk_heg__lingyange-notshowns", notshowns}}}
--       local cards = room:askForCardsChosen(target, target, 0, player.hp, flag, self.name, "#wk_heg__lingyange-change:::"..player.hp)
--       local toshow = table.filter(cards, function(id) return table.contains(notshowns, id) end)
--       local tohide = table.filter(cards, function(id) return table.contains(showns, id) end)
--       if #tohide > 0 then
--         H.HideCards(target, tohide)
--       end
--       toshow = U.moveCardsHoldingAreaCheck(room, toshow, room.logic:getCurrentEvent().id)
--       if #toshow > 0 then
--         H.ShowCards(target, toshow)
--       end
--     else
--       local n = #self.cost_data
--       room:throwCard(self.cost_data, self.name, player)
--       if player.dead then return end
--       local specialmechanism = {
--         --基本概念
--         "明置", "暗置",  -- "主将", "副将", "鏖战", "国战标记", "阴阳鱼", "珠联璧合", "先驱", "野心家", --"未确定势力", "其他势力", "没有势力", "叠置"
--         --君临天下
--         "阵法", "队列", "围攻", "移除", "变更", "军令", "纵横", --"君主", "召唤", "合纵", "大势力", "小势力", "调离",
--         --日月
--         "推举", "战策", "借调",
--       }
--       local allgenerals = table.simpleClone(room.general_pile)
--       table.shuffle(allgenerals)
--       local generals, skills = {}, {}
--       for _, general_name in ipairs(allgenerals) do
--         local general = Fk.generals[general_name]
--         local gskills = general:getSkillNameList()
--         local gskillsfilter = {}
--         for _, s in ipairs(gskills) do
--           local text = Fk:translate(":"..s, "zh_CN")
--           for _, str in ipairs(specialmechanism) do
--             if string.find(text, str) then
--               table.insertIfNeed(gskillsfilter, s)
--               break
--             end
--           end
--         end
--         if #gskillsfilter > 0 and not table.contains(generals, general_name) then
--           table.insert(generals, general_name)
--           table.insert(skills, gskillsfilter)
--         end
--         if #generals >= n then
--           break
--         end
--       end
--       if #generals > 0 then
--         local choices
--         local result = player.room:askForCustomDialog(player, self.name,
--         "packages/new_heg/qml/ChooseGeneralSkillsBox.qml", {
--           generals, skills, 1, 1, "#wk_heg__lingyange-choice", false
--         })
--         if result ~= "" then
--           choices = result
--         end
--         room:addTableMark(player, "@wk_heg__lingyange-turn", choices[1])
--         room:handleAddLoseSkills(player, choices, nil)
--         room.logic:getCurrentEvent():findParent(GameEvent.Turn):addCleaner(function()
--           room:handleAddLoseSkills(player, "-"..choices[1], nil)
--         end)
--       end
--     end
--   end,

--   refresh_events = {"fk.AfterCardsShown", fk.AfterCardsMove, fk.GameOverJudge},
--   can_refresh = function (self, event, target, player, data)
--     return player:hasShownSkill(self) and table.every(player.room.alive_players, function (p)
--       return #H.GetShownCards(p) == p:getHandcardNum()
--     end)
--   end,
--   on_refresh = function (self, event, target, player, data)
--     local room = player.room
--     player:broadcastSkillInvoke(self.name)
--     room:notifySkillInvoked(player, self.name, "big")
--     for _, p in ipairs(room:getAllPlayers()) do --先把野人亮出来，防止拉拢
--       if p:getMark("__heg_wild") == 1 and p.general == "anjiang" then
--         p:revealGeneral(false)
--       end
--     end
--     for _, p in ipairs(room:getAllPlayers()) do
--       if p.general == "anjiang" then p:revealGeneral(false) end
--       if p.deputyGeneral == "anjiang" then p:revealGeneral(true) end
--     end
--     local targets = table.filter(room.players, function (p) return H.compareKingdomWith(p, player) end)
--     room:doIndicate(player.id, table.map(targets, Util.IdMapper))
--     room:gameOver(player.role)
--   end,
-- }